<?php

Yii::import('application.modules.nutricion.models._base.BaseCategoria');

/**
 * Modelo hereda de BaseCategoria
 */
class Categoria extends BaseCategoria {

    public $booleanPorcionCategoria = true;

    /**
     * @return Categoria
     */
    public static function model($className = __CLASS__) {
        return parent::model($className);
    }

    public static function label($n = 1) {
        return Yii::t('app', 'Categor&iacutea|Categor&iacuteas', $n);
    }

    public function rules() {
        return array_merge(parent::rules(), array(
            array('nombre', 'unique'),
                )
        );
    }

    /**
     * @return array customized attribute labels (name=>label)
     */
    public function attributeLabels() {
        return array(
            'id' => Yii::t('app', 'ID'),
            'nombre' => Yii::t('app', 'Nombre'),
            'descripcion' => Yii::t('app', 'Descripci&oacuten'),
            'alimentoses' => null,
            'subcategorias' => null,
            'booleanPorcionCategoria' => Yii::t('app', 'Crear autom&aacute;ticamente porci&oacute;n de 100 gramos para esta categor&iacute;a'),
        );
    }

    /**
     * Busca si la tabla del modelo no esta vacia
     * @author Sofia Mejia <asmejia@utn.edu.ec>
     * @return query
     */
    public function contarDatos() {
        $command = Yii::app()->db->createCommand()
                ->select("count(id) as total")
                ->from($this->tableName());
        $result = $command->queryAll();
        return $result[0]['total'];
    }

    /**
     * Permite crear la porcion de 100g para la categoria
     * @param int $idCategoria
     * @return boolean true: se guardo bien
     */
    public function autoCreacionPorcion($idCategoria) {
//        $categoria = $this->findByPk((int)$idCategoria);
        $porcionCategoria = new Medidas;
        $porcionCategoria->cantidad_g = Medidas::cantidadMedidaDefaultSistema;
        $porcionCategoria->descripcion = Medidas::descripcionMedidaDefaultSistema;
        $porcionCategoria->categoria_id = (int) $idCategoria;

        if ($porcionCategoria->save()) {
            return true;
        } else {
            return false;
        };
    }
    
   

}
